Consulta de Guías Docentes



Academic Year/course: 2017/18

439 - Bachelor's Degree in Informatics Engineering

30230 - Language Processors


Syllabus Information

Academic Year:
2017/18
Subject:
30230 - Language Processors
Faculty / School:
110 - Escuela de Ingeniería y Arquitectura
Degree:
439 - Bachelor's Degree in Informatics Engineering
ECTS:
6.0
Year:
3
Semester:
Second semester
Subject Type:
Compulsory
Module:
---

5.1. Methodological overview

The learning process designed for this subject is based on the following:

  • The presentation of the contents of the subject in lectures by the teacher.
  • Personal study of the subject by students.
  • The theoretical and practical resolution of specific problems. 
  • The development of specific and guided practices by students.

5.2. Learning tasks

  • Lectures taught in the classroom.
  • Practical sessions to apply specific concepts and techniques presented in the course.
  • Application of the concepts and techniques developed during the course through tutored sessions.

5.3. Syllabus

Lectures and problem classes will focus on the study of the following topics:

  • Topic 1: Introduction. Language processors.
  • Topic 2: Lexical Analysis. Automata and regular expressions.
  • Topic 3: Parsing. Grammars and classification. Transformations.
  • Topic 4: Semantic analysis. Symbol table. 
  • Topic 5: Runtime Environments.
  • Topic 6: Generation and code optimization.

Practical sessions will be conducted through the construction of a compiler for a simple language from scratch, resulting in code generation and execution of such language.

5.4. Course planning and calendar

The planning and scheduling will be defined by the center in the academic calendar of the corresponding course.

 

Student Work

 

  • Lectures: 30 hours
  • Practical classes: 30 hours
  • Off-site activities: 85 hours (approx.)
  • Theoretical/practical evaluation: 3 hours
  • Practical assessment activity: 3 hours

5.5. Bibliography and recommended resources

[BB: Bibliografía básica / BC: Bibliografía complementaria]

  • [BB] Aho, Alfred V.. Compiladores : principios, técnicas y herramientas / Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman . - 1a ed., 1a reimpr. Wilmington, Delaware : Addison-Wesley Iberoamericana, 1998
  • [BB] Cooper, Keith D. Engineering a compiler / Keith D. Cooper, Linda Torczon . 2nd ed. San Francisco : Morgan Kaufmann, cop. 2012
  • [BB] Muchnick, Steven S.. Advanced compiler design and implementation / Steven S. Muchnick . San Francisco, California : Morgan Kaufmann, cop. 1997
  • [BB] Scott, Michael Lee. Programming language pragmatics / Michael L. Scott San Francisco [etc.] : Morgan Kaufman, cop. 2000